package com.dc.project.entity.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.own.component.common.base.entity.po.BaseSortPo;
import com.own.constant.ConstantBeanSuffix;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * TemplateDetail
 *
 * @author chenxueli
 * @date 2025-03-19 13:09:50
 */
@Schema(title = "模板详情" + ConstantBeanSuffix.PO)
@Getter
@Setter
@ToString
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_template_detail")
public class TemplateDetail extends BaseSortPo implements Serializable {

    /**
     * 模板id
     */
    private Long fkTemplateId;

    /**
     * 模板详情标题
     */
    private String title;

    /**
     * 模板详情描述
     */
    private String description;

    /**
     * 生成文件的额外提示词
     */
    private String generatePrompt;

    /**
     * 生成文件的处理方式 0=不生成 1=大模型自定义生成 2=根据模板附件生成 3=提取原始材料
     */
    private Integer generateType;

    public interface GenerateType {
        /**
         * 不生成
         */
        int NOT_GENERATE = 0;
        /**
         * 大模型自定义生成
         */
        int CUSTOM_GENERATE = 1;
        /**
         * 根据模板附件生成
         */
        int ATTACHMENT_GENERATE = 2;
        /**
         * 提取原始材料
         */
        int EXTRACT_MATERIAL = 3;
    }

}
